// import 'dart:io';
// import 'package:flutter/material.dart';
//
//
// class MessageAudio extends StatefulWidget {
//   Map messageData;
//   FlutterSoundPlayer sound;
//   MessageAudio(this.messageData, this.sound);
//   @override
//   _MessageAudioState createState() => _MessageAudioState();
// }
//
// class _MessageAudioState extends State<MessageAudio> {
//   String statusIcon;
//   bool isplaying = false;
//   String filePath = "";
//   @override
//   void initState() {
//     super.initState();
//     setDuration();
//   }
//
//   setDuration() {
//     if (widget.messageData["voiceFile"] != null && widget.messageData["voiceDuration"]==-1) {
//       JmessageHelper.downloadFile(
//               widget.messageData['fromMe'] ? widget.messageData["targetId"] ?? widget.messageData["target"] : widget.messageData["userId"],
//               widget.messageData["messageId"],
//               appKey: widget.messageData["appKey"])
//           .then((value) {
//         File file = File(value["filePath"]);
//         setState(() {
//           filePath = value["filePath"];
//           var d = (file.lengthSync() / 10000).floor();
//           widget.messageData["voiceDuration"] = d;
//           (file.lengthSync() / 10000).floor();
//         });
//       });
//     }
//   }
//
//   @override
//   Widget build(BuildContext context) {
//     return Bubble(
//       margin: BubbleEdges.only(top: 8.px),
//       padding: BubbleEdges.all(9.px),
//       color: widget.messageData["fromMe"] ? Color(0xFFD6EDFF) : Colors.white,
//       alignment: widget.messageData["fromMe"] ? Alignment.centerRight : Alignment.centerLeft,
//       nipWidth: 8.px,
//       nipHeight: 15.px,
//       nip: widget.messageData["fromMe"] ? BubbleNip.rightTop : BubbleNip.leftTop,
//       nipOffset: 10.px,
//       nipRadius: 2.px,
//       elevation: 0.1,
//       shadowColor: Mcolors.CE8E8E8,
//       child: GestureDetector(
//         onTap: () {
//           isplaying ? stopPlayTheVoice() : startPlayTheVoice();
//         },
//         child: Container(
//           constraints: BoxConstraints(minWidth: 59, maxWidth: 250),
//           width: widget.messageData["voiceDuration"] * 9.0,
//           color: Colors.transparent,
//           child: Row(
//               mainAxisAlignment: widget.messageData["fromMe"] ? MainAxisAlignment.end : MainAxisAlignment.start,
//               children: widget.messageData["fromMe"] ? getChildrens() : getChildrens().reversed.toList()),
//         ),
//       ),
//     );
//   }
//
//   List<Widget> getChildrens() {
//     String image = getStatusIcon(isplaying);
//     int time = widget.messageData["voiceDuration"].round();
//     print("+++++++++++++++++++++++++" + image + "-----" + isplaying.toString());
//     return <Widget>[
//       Container(
//         width: 5.px,
//       ),
//       WText(
//         widget.messageData["voiceDuration"] != null ? '${time.toString()}\'\'' : '',
//         style: TextStyle(fontSize: 16.px, color: Mcolors.C333333),
//         softWrap: true,
//       ),
//       Container(
//         width: 5.px,
//       ),
//       Image.key(
//         'images/$image',
//         fit: BoxFit.cover,
//         width: 15.px,
//         color: Mcolors.C333333,
//       ),
//       Container(
//         width: 5.px,
//       ),
//     ];
//   }
//
//   String getStatusIcon(bool status) {
//     if (status) {
//       return widget.messageData["fromMe"] ? 'myVoice.gif' : 'otherPeopleVoice.gif';
//     } else {
//       return widget.messageData["fromMe"] ? 'myNormalVoice.png' : 'otherNormalVoice.png';
//     }
//   }
//
//   /// 播放
//   startPlayTheVoice() async {
//     if (!mounted) return;
//     // if (widget.sound.isPlaying) {
//     //   await widget.sound.stopPlayer();
//     // }
//     setState(() {
//       isplaying = true;
//     });
//     getVideoUrl().then((data) {
//       print("++++++++++++++++++++++${data}");
//       widget.sound.setSubscriptionDuration(Duration(seconds: 1)).then((value) {
//         widget.sound.startPlayer(
//             fromURI: widget.messageData['voiceId'] != null ? data["url"] : data['filePath'] ?? "",
//             codec: Codec.pcm16WAV,
//             whenFinished: () {
//               setState(() {
//                 isplaying = false;
//               });
//             });
//       });
//     });
//   }
//
//   Future getVideoUrl() {
//     // print("messagedata======${widget.messageData}");
//     if (widget.messageData["voiceId"] != null) {
//       String base64_auth_string = CU.CommonUtils.base64Encode("2abb1f2ccaa42a8aabd298b4:b70b71b607f12b1dede6d58f");
//       Options options = Options();
//       options.headers["Authorization"] = "Basic $base64_auth_string";
//       options.headers["content-type"] = "application/json";
//       print(options.headers);
//       return HttpUtils(needAuthor: false).get("https://api.im.jpush.cn/v1/resource?mediaId=${widget.messageData['voiceId']}", options: options);
//     } else if (widget.messageData["voice"] != null) {
//       return JmessageHelper.downloadTheVoice(
//         widget.messageData['fromMe'] ? widget.messageData["targetId"] ?? widget.messageData["target"] : widget.messageData["userId"],
//         widget.messageData["messageId"],
//         appKey: widget.messageData["appKey"],
//       );
//     } else if (widget.messageData["voiceFile"] != null) {
//       return Future.value({"filePath": filePath});
//       // return JmessageHelper.downloadFile(
//       //     widget.messageData['fromMe']
//       //         ? widget.messageData["targetId"] ?? widget.messageData["target"]
//       //         : widget.messageData["userId"],
//       //     widget.messageData["messageId"],
//       //     appKey: widget.messageData["appKey"]);
//     }
//   }
//
//   stopPlayTheVoice() async {
//     if (!mounted) return;
//     setState(() {
//       isplaying = false;
//     });
//     if (widget.sound.isPlaying) await widget.sound.stopPlayer();
//   }
//
//   @override
//   void dispose() {
//     super.dispose();
//   }
// }
